package com.eportal.dao;

import com.eportal.entity.TLocksHisOwnersEntity;
import com.framework.jqgrid.MyMapper;
import org.apache.ibatis.annotations.Param;

public interface TLocksHisOwnersEntityMapper extends MyMapper<TLocksHisOwnersEntity> {

    /**
     * 获取设备最后一次发货的层级（次数）
     * @author Saber
     * @Date 2017/7/27 上午9:16
     * @param tLocksId      设备表id（T05_LOCKS)）
     * @param pId           设备出厂编号
     * @return 第几次发货(设备初次发货 则返回null 请做好null判断)
     */
    Integer getLastInsertLevels(@Param("tLocksId") Long tLocksId,@Param("pId") String pId);

    /**
     * 获取设备给定拥有者最初接手时的层级（平台除外）
     * @author Saber
     * @Date 2017/7/27 下午1:25
     * @param tLocksId      设备表id（T05_LOCKS)）
     * @param pId           设备出厂编号
     * @param fromAgtCode   撤销人
     * @return
     */
    Integer getFirstLevelsByToAgtCode(@Param("tLocksId") Long tLocksId,@Param("pId") String pId,@Param("agtCode") String fromAgtCode);

    /**
     * 根据设备表id和pId删除
     * @author Saber
     * @Date 2017/7/27 下午2:32
     * @param tLocksId      设备表id（T05_LOCKS）
     * @param pId           设备出厂编号
     * @return
     */
    int deleteByTLocksIdAndPid(@Param("tLocksId")Long tLocksId, @Param("pId")String pId);

    /**
     * 删除大于指定等级的记录
     * @author Saber
     * @Date 2017/7/27 下午2:40
     * @param tLocksId      设备表id（T05_LOCKS）
     * @param pId           设备出厂编号
     * @param levels        等级
     * @return
     */
    int deleteByTLocksIdAndPidAndgtLevel(@Param("tLocksId")Long tLocksId, @Param("pId")String pId, @Param("levels")Integer levels);
}
